<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Roadmap: How to Adopt the Use-Case Driven Development Practice</title>
<meta name="uma.type" content="Roadmap">
<meta name="uma.name" content="how_to_adopt">
<meta name="uma.presentationName" content="How to Adopt the Use-Case Driven Development Practice">
<meta name="element_type" content="other">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_PJKZkMRfEdyBt8f9agIerg"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Roadmap: How to Adopt the Use-Case Driven Development Practice</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/roadmap.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This roadmap describes how to adopt the Use-Case Driven Development Practice.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><h3>
    Getting Started 
</h3>
<p>
    After getting some basic familiarity with the concept of use cases, consider identifying use cases in a workshop
    environment, led by someone experienced in writing use cases. Detail one or a few example scenarios to serve as an
    example for other use case authors, to set a standard for format, style, and level of detail.
</p>
<p>
    Some teams prefer to identify all of the use cases and actors first, capturing those in a UML use-case diagram, or other sort
    of visual notation. Then they iteratively detail the use cases assigned to the current or next iteration, by outlining
    the steps in the use case main flow and alternative flows. When these steps and flows are detailed in the amount needed
    for development to start, it is useful to group flows in what is called use-case scenarios. Some teams prefer to
    identify scenarios first and then write the use cases in a more structured way later, by grouping related scenarios
    together. Scenarios can be used as a unit of work assignment and progress measurement on how use cases are analyzed,
    designed, implemented, and tested throughout the project.
</p>
<p>
    As you get more comfortable with this practice, consider supplementing your use cases with storyboards, activity
    diagrams, and additional requirements techniques. Modeling use cases in UML diagrams or in modeling tools can be
    helpful when there are lots of use cases, but start with a focus on the text and some key scenarios.
</p>
<h4>
    Common pitfalls
</h4>
<p>
    Try to avoid applying functional decomposition approach to use cases. That may lead you to find too many use
    cases, and use-case descriptions that are a half-page or less in length. On the other hand, finding too few use
    cases may result in overloaded use cases. It may lead to long and complex use-case descriptions. Try to find
    a balance that makes sense for your team, stakeholders, and the type of system that you are developing. There are different
    opinions about what is the appropriate number of use cases for a system. The suggestion is that even large, complex
    systems will have no more than a couple dozen use cases on average.
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
